home *** CD-ROM | disk | FTP | other *** search
/ Chip 2006 December / chip-cd_2006_12.zip / 12 / Pakiet internetowy / Klienci FTP / Staff-FTP 2.91 / sftp_setup.exe / {app} / Scripts / AutoNuker.scr next >
Text File  |  2003-12-12  |  3KB  |  105 lines

  1. #- AutoNuker by FanTie
  2. #- this is just an examble on how it will work
  3. #-
  4. #- This Script will login into some servers and nuke releases just as on other servers.
  5. #- It works only on glftpd-sites (the nuke-reson-extracter). 
  6. #- Usefull for lazy nukers/Siteops
  7. #- 
  8.  
  9.  
  10. # Servers wich nuke releases regulary (seperated by ;)
  11. # Use the names u have entered in SiteManager
  12. var nuke_servers="site1;site2;site3"
  13.  
  14. # Your Server where you want to nuke
  15. var do_nuke_server="mysite1;mysite2"
  16.  
  17. # How many nukes you want to scan for?
  18. var how_many_to_chk=100
  19.  
  20. # If a nuke-reason matches one of those masks then skip it
  21. var dont_nuke_reason_mask=*pda*|test
  22.  
  23. # Nuke how many times?
  24. var nuke_ratio=1
  25.  
  26. ###########################################################################
  27. ### END OF CONFIG
  28. ###########################################################################
  29.  
  30. #for every nuke_server...
  31. for server1_url in $nuke_servers
  32.  
  33.   for server2_url in $do_nuke_server
  34.  
  35.     #connect to server1
  36.     select ftp
  37.     if ftp.sitename <> $server1_url
  38.       connect SITEMANAGER $server1_url
  39.     end
  40.     if ftp.connected =false
  41.       connect SITEMANAGER $server1_url
  42.     end
  43.  
  44.     #connect to server2
  45.     select fxp
  46.     if fxp.sitename <> $server2_url
  47.       connect SITEMANAGER $server2_url
  48.     end
  49.     if fxp.connected =false
  50.       connect SITEMANAGER $server2_url
  51.     end
  52.  
  53.     #collect nukes
  54.     select ftp
  55.     var nuke_log=FTPCMD site nukes $how_many_to_chk
  56.  
  57.     #set reason to zero
  58.     var reason=
  59.  
  60.     #search on site
  61.     select fxp
  62.     for line in $nuke_log; do
  63.       var nukedir=GETPART "$line" "2" "Dir:"
  64.       var nukedir=GETPART "$nukedir" "1" "|"
  65.  
  66.       #make sure its a valid directory (needs some more checks maybe)
  67.       if $nukedir = *-*;*.*;*_*
  68.         #make sure the reason is not empty aswell
  69.         if $reason !=
  70.           #search on site for that nuke (sometimes cutted at end)
  71.           var search=FTPCMD site search $nukedir
  72.   
  73.           #dont go on if its already nuked
  74.           if $search != *NUKED*
  75.             #continue if search was successfull
  76.             if $search != * 0 directories found*
  77.               #extract real directory
  78.               var realdir=GETPART "$search" "2" "200- /"
  79.               var realdir=GETPART "$realdir" "1" " ("
  80.               #if real-dir isnt empty...
  81.               if $dir2 != 
  82.                 #go to that dir
  83.                 cwd /$realdir/..
  84.                 refresh
  85.                 #select that dir...
  86.                 select mask $nukedir*
  87.                 var seldir=selection
  88.                 #nuke it
  89.                 for item in $seldir
  90.                   site nuke $item $nuke_ratio $reason
  91.                 end
  92.               end
  93.             end
  94.           end
  95.         end
  96.       end
  97.       #extract reason
  98.       var reason=getpart "$line" "5" "|"
  99.       if $reason=$dont_nuke_reason_mask
  100.         var reason=
  101.       end
  102.     end
  103.   end
  104. end
  105.